87 research outputs found

    Idempotent I/O for safe time travel

    Full text link
    Debuggers for logic programming languages have traditionally had a capability most other debuggers did not: the ability to jump back to a previous state of the program, effectively travelling back in time in the history of the computation. This ``retry'' capability is very useful, allowing programmers to examine in detail a part of the computation that they previously stepped over. Unfortunately, it also creates a problem: while the debugger may be able to restore the previous values of variables, it cannot restore the part of the program's state that is affected by I/O operations. If the part of the computation being jumped back over performs I/O, then the program will perform these I/O operations twice, which will result in unwanted effects ranging from the benign (e.g. output appearing twice) to the fatal (e.g. trying to close an already closed file). We present a simple mechanism for ensuring that every I/O action called for by the program is executed at most once, even if the programmer asks the debugger to travel back in time from after the action to before the action. The overhead of this mechanism is low enough and can be controlled well enough to make it practical to use it to debug computations that do significant amounts of I/O.Comment: In M. Ronsse, K. De Bosschere (eds), proceedings of the Fifth International Workshop on Automated Debugging (AADEBUG 2003), September 2003, Ghent. cs.SE/030902

    Separation of soft and collinear infrared limits of QCD squared matrix elements

    Get PDF
    We present a simple way of separating the overlap between the soft and collinear factorization formulae of QCD squared matrix elements. We check its validity explicitly for single and double unresolved emissions of tree-level processes. The new method makes possible the definition of helicity-dependent subtraction terms for regularizing the real contributions in computing radiative corrections to QCD jet cross sections. This implies application of Monte Carlo helicity summation in computing higher order corrections.Comment: 14 pages, 1 figure, references adde

    Region-based memory management for Mercury programs

    Full text link
    Region-based memory management (RBMM) is a form of compile time memory management, well-known from the functional programming world. In this paper we describe our work on implementing RBMM for the logic programming language Mercury. One interesting point about Mercury is that it is designed with strong type, mode, and determinism systems. These systems not only provide Mercury programmers with several direct software engineering benefits, such as self-documenting code and clear program logic, but also give language implementors a large amount of information that is useful for program analyses. In this work, we make use of this information to develop program analyses that determine the distribution of data into regions and transform Mercury programs by inserting into them the necessary region operations. We prove the correctness of our program analyses and transformation. To execute the annotated programs, we have implemented runtime support that tackles the two main challenges posed by backtracking. First, backtracking can require regions removed during forward execution to be "resurrected"; and second, any memory allocated during a computation that has been backtracked over must be recovered promptly and without waiting for the regions involved to come to the end of their life. We describe in detail our solution of both these problems. We study in detail how our RBMM system performs on a selection of benchmark programs, including some well-known difficult cases for RBMM. Even with these difficult cases, our RBMM-enabled Mercury system obtains clearly faster runtimes for 15 out of 18 benchmarks compared to the base Mercury system with its Boehm runtime garbage collector, with an average runtime speedup of 24%, and an average reduction in memory requirements of 95%. In fact, our system achieves optimal memory consumption in some programs.Comment: 74 pages, 23 figures, 11 tables. A shorter version of this paper, without proofs, is to appear in the journal Theory and Practice of Logic Programming (TPLP

    A fenntarthatóság mérése az erdÅ‘gazdaságban

    Get PDF
    A fenntarthatóság mérése, de definiálása is nehézkes a jövÅ‘re vonatkozó feltételezések bizonytalansága miatt. Korlátozott következtetések vonhatók le pl. a „kereslet és kínálat†összehasonlításának elvén alapuló, egyre közismertebb ökológiai lábnyomból, vagy más, a fenntarthatóság bizonyos aspektusait részletesebben jellemzÅ‘ indikátorok tényleges értékeinek és az elÅ‘re elvárt értékek összevetésébÅ‘l. Ilyen, fejlÅ‘dÅ‘, korlátozott lehetÅ‘ségeket nyújtó indikátorrendszer jött létre az erdÅ‘gazdálkodásban. A rendszer használatát nagymértékben korlátozza, hogy megalapozatlan az, hogy hány, illetve mennyire specifikus vagy mennyire aggregált indikátorokat alkalmaznak, és hogy az indikátorok mért értékeit hogyan értelmezik. Emiatt az indikátorértékek értelmezésében még az olyan nemzetközi szervezetek is alapvetÅ‘ hibákat követnek el, mint a FAO. A tanulmány a fentieket több olyan példával is illusztrálja, amelyeket a fenntarthatóságban évszázadok óta élenjáró ágazatból, az erdÅ‘gazdálkodásból vettünk. Az ágazatból származó „jó†példával – egy bioindikátorral – mutatjuk meg ugyanakkor, hogy lehet megfelelÅ‘ aggregált mutatókat találni. A fenntarthatósági mutatók értelmezéséhez szükséges azonban, hogy pontosan ismerjék ezeknek a mutatóknak a viselkedését, és hogy definiálni tudják, hogy – idÅ‘ben változó módon – milyen tartományon belül vélelmezhetÅ‘ a fenntarthatóság. Az, hogy mi számít „jó†és „rossz†irányú változásnak, minden mutató esetében a vizsgált rendszer (pl. az erdÅ‘k, ill. az erdÅ‘gazdálkodás) elemzésétÅ‘l, illetve a rendszer megértésének színvonalától függ (pl. az erdei ökoszisztémák működését még kevéssé értjük). Az eredményesen alkalmazható operatív indikátorrendszernek megfogalmazhatók a kritériumai, de az is lehet, hogy esetenként azzal juthatnak elÅ‘bbre, ha a fejlÅ‘désre ugyanúgy tekintenek, mint ahogyan saját testének jelzéseire figyel egy beteg, de okos ember. ------------------------------------------------------- The insecurities in assumptions about the future make it difficult to measure and define sustainability. Only limited conclusions can be derived from the “ecological footprintâ€, an ever spreading concept based on comparing “demand†and “offerâ€, or from comparing the actual value of other indicators representing more detailed aspects of sustainability with the expected values. Such a system of indicators has bee developed for forestry applications – the indicators used are still in development and the system offers limited possibilities. A major limitation stems from the fact that the number and the degree of specificity of indicators to be used are not well established, and neither is the interpretation of actual indicator values. As a result, even international organisations such as the FAO make errors in interpreting indicator values. The paper brings various examples to illustrate these points, taken from a centuries-old sector which is at the forefront of sustainability: forest management. A good example taken from forestry – a bioindicator – is used to demonstrate that it is possible to fid suitable aggregated indicators. To interpret sustainability indicators correctly, however, one needs to be aware of howsuch indicators behave exactly. This allows one to define the valid range of sustainability, as it changes with time. The judgement of whether a change is ‘positive’ or ‘negative’ always depends on an analysis of the system in question (e.g. forests and forestry), as well as our level of understanding of the system (e.g. we only have a basic understanding of how forest ecosystems work). It is possible to draw up criteria applicable to effective operative indicators. Sometimes, however, in order to progress, perhaps one should act similar to an ill, but wise man, who listens to the messages of his own body.fenntartható fejlÅ‘dés, erdÅ‘gazdálkodás, fenntarthatósági indikátor, bioindikátor, sustainable development, forest management, sustainability indicator, bioindicator, Crop Production/Industries, Environmental Economics and Policy,

    Integration of collinear-type doubly unresolved counterterms in NNLO jet cross sections

    Full text link
    In the context of a subtraction method for jet cross sections at NNLO accuracy in the strong coupling, we perform the integration over the two-particle factorised phase space of the collinear-type contributions to the doubly unresolved counterterms. We present the final result as a convolution in colour space of the Born cross section and of an insertion operator, which is written in terms of master integrals that we expand in the dimensional regularisation parameter.Comment: 47 page

    Minimizing the overheads of dependent {AND}-parallelism

    Get PDF
    Parallel implementations of programming languages need to control synchronization overheads. Synchronization is essential for ensuring the correctness of parallel code, yet it adds overheads that aren\u27t present in sequential programs. This is an important problem for parallel logic programming systems, because almost every action in such programs requires accessing variables, and the traditional approach of adding synchronization code to all such accesses is so prohibitively expensive that a parallel version of the program may run more slowly on four processors than a sequential version would run on one processor. We present a program transformation for implementing dependent AND-parallelism in logic programming languages that uses mode information to add synchronization code only to the variable accesses that actually need it

    Automatic reordering for dataflow safety of Datalog

    Get PDF
    Clauses and subgoals in a Datalog program can be given in any order without affecting program meaning. However, practical applications of the language require the use of built-in or external predicates with particular dataflow requirements. These can be expressed as input or output modes on arguments. We describe a static analysis of moding for Datalog which can transform an ill-moded program into a well-moded program by reordering clause subgoals, satisfying dataflow requirements. We describe an incremental algorithm which efficiently finds a reordering if it exists. This frees the programmer to focus on the declarative specification of their program rather than on the implementation details of external predicates. We prove that our computed reorderings yield well-moded programs (soundness) and that if a program can be made well-moded, we compute a reordering to do so (completeness).This work was supported by the EPSRC [grant number EP/M026124/1

    Precise determination of αS(MZ)\alpha_{S}(M_Z) from a global fit of energy-energy correlation to NNLO+NNLL predictions

    Full text link
    We present a comparison of the computation of energy-energy correlation in e+ee^{+}e^{-} collisions in the back-to-back region at next-to-next-to-leading logarithmic accuracy matched with the next-to-next-to-leading order perturbative prediction to LEP, PEP, PETRA, SLC and TRISTAN data. With these predictions we perform an extraction of the strong coupling constant taking into account non-perturbative effects modelled with Monte Carlo event generators. The final result at NNLO+NNLL precision is αS(MZ)=0.11750±0.00018(exp.)±0.00102(hadr.)±0.00257(ren.)±0.00078(res.)\alpha_{S}(M_{Z})=0.11750\pm 0.00018 {\text( exp.)}\pm 0.00102{\text(hadr.)}\pm0.00257{\text(ren.)}\pm 0.00078{\text(res.)}.Comment: 35 pages, 10 figures, 2 table
    corecore